Techniques for organizing vehicle parking

ABSTRACT

A parking system may include a number of parking locations, where the availability of each parking location may be tracked based on detection of whether a vehicle is in the parking location. Accordingly, a parking system may organize parking locations based on availability and unavailability. In some cases, mobile device sensors may be used to determine whether a mobile device has left the vehicle in the parking location (e.g., and thus the parking location is still unavailable) or whether the mobile device has left the parking location in the vehicle (e.g., and thus the parking location is now available). In some cases, the parking system may organize available and unavailable parking locations, facilitate user listing of parking locations, track of available and unavailable parking locations, and track different characteristics of different parking locations (e.g., such as location, size, cost, availability, etc.), among other examples.

BACKGROUND OF THE INVENTION 1. Field of the Invention

The present invention relates generally to vehicle parking, and morespecifically to detecting parking of a vehicle.

2. Discussion of the Related Art

Various systems and processes are known in the art for vehicle parking.

Efficient systems for organizing availability of vehicle parking becomesincreasingly important as population grows, vehicle usage increases,cites densify, etc. Cost considerations, space availability, and generalefficiency of a parking system may be weighed in the adoption of aparticular parking system.

Many parking systems include a given parking area (e.g., a parking lot,a parking garage, etc.) that includes a number of vehicle stalls (e.g.,parking locations). However, such systems may have various limitationsincluding the amount of space available (e.g., in a downtown area) andthe usage efficiency of the space available (e.g., as usage ofindividual parking stalls may not be tracked or organized, as vehiclestalls may be established as a certain dimension some vehicles may notbe compatible with, etc.).

SUMMARY

Generally, the techniques described herein provide for improveddetection of the parking of a vehicle (e.g., improved detection ofwhether a vehicle is in a parking location or has left a parkinglocation). For instance, a parking system may include a number ofparking locations, where the availability of each parking location maybe tracked based on detection of whether a vehicle is in the parkinglocation. Accordingly, a parking system may organize parking locationsbased on availability and unavailability. Various embodiments of thepresent disclosure may include usage of device sensors (e.g., atilt/inertia sensor, global positioning service (GPS) sensors, etc.) todetermine whether a device (e.g., a mobile computing device) has leftthe vehicle in the parking location (e.g., and thus the parking locationis still unavailable) or whether the device has left the parkinglocation in the vehicle (e.g., and thus the parking location is nowavailable). Various embodiments of the present disclosure may includeorganizing available and unavailable parking locations, including userlisting of parking locations, tracking of available and unavailableparking locations, as well as tracking of different characteristics ofdifferent parking locations (e.g., such as location, size, cost,availability, etc.).

A method, apparatus, and non-transitory computer readable medium fordetecting parking of a vehicle are described. Embodiments of the method,apparatus, and non-transitory computer readable medium are configured toselect one of at least one parking locations, check availability of theone of the at least one parking locations for whether the one of the atleast one parking locations is available, display, when the one of theat least one parking locations is available, a routing to the one of theat least one parking locations, receive, repeatedly, a GPS signal as amobile computing device is moved to the one of the at least one parkinglocations, compare, repeatedly, the GPS signal to the one of the atleast one parking locations, determine whether the mobile computingdevice is within a prescribed distance of the one of the at least oneparking locations, display on the mobile computing device, when themobile computing device is within the prescribed distance, entryinformation comprising at least one of text, photo, audio, and videoinformation with instructions for use of the one of the at least oneparking locations, display on the mobile computing device, when themobile computing device is within the prescribed distance, a firstconfirmation prompt, receive a first confirmation input in response tothe first confirmation prompt, receive a tilt/inertia and speed signalfrom a tilt/inertia sensor of the mobile computing device, anddetermine, in response to the tilt/inertia and speed signal and the GPSsignal, whether the vehicle is parked at the one of the at least oneparking locations.

A system for detecting parking of a vehicle is also described. Thesystem may include a mobile computing device configured for networkcommunication and may include a display, a GPS receiver, a sensor (e.g.,a tilt/inertia sensor), and an application configured to run on themobile computing device. The mobile computing device may be configuredto select one of at least one parking locations and check availabilityof the one of the at least one parking locations for whether the one ofthe at least one parking locations is available. The mobile computingdevice may be configured to display, when the one of the at least oneparking locations is available, a routing to the one of the at least oneparking locations. The mobile computing device may also be configured todisplay, repeatedly, a GPS signal as the mobile computing device ismoved to the one of the at least one parking locations and compare,repeatedly, the GPS signal to the one of the at least one parkinglocations. The mobile computing device may further be configured todetermine whether the mobile computing device is within a prescribeddistance of the one of the at least one parking locations and display onthe mobile computing device, when the mobile computing device is withinthe prescribed distance, entry information comprising at least one oftext, photo, audio, and video information with instructions for use ofthe one of the at least one parking locations. The mobile computingdevice may be configured to display on the mobile computing device, whenthe mobile computing device is within the prescribed distance, a firstconfirmation prompt, receive a first confirmation input in response tothe first confirmation prompt, receive a tilt/inertia and speed signalfrom the tilt/inertia sensor of the mobile computing device, anddetermine, in response to said tilt/inertia and speed signal and saidGPS signal, whether the vehicle is parked at the one of the at least oneparking locations.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows an example of system diagram according to aspects of thepresent disclosure.

FIG. 2 shows an example of application home page diagram according toaspects of the present disclosure.

FIGS. 3 through 8 show example application diagrams according to aspectsof the present disclosure.

FIG. 9 shows an example of a process for detecting parking of a vehicleaccording to aspects of the present disclosure.

DETAILED DESCRIPTION

The following description is not to be taken in a limiting sense, but ismade merely for the purpose of describing the general principles ofexemplary embodiments. The scope of the invention should be determinedwith reference to the claims.

Reference throughout this specification to “one embodiment,” “anembodiment,” or similar language means that a particular feature,structure, or characteristic described in connection with the embodimentis included in at least one embodiment of the present invention. Thus,appearances of the phrases “in one embodiment,” “in an embodiment,” andsimilar language throughout this specification may, but do notnecessarily, all refer to the same embodiment.

Furthermore, the described features, structures, or characteristics ofthe invention may be combined in any suitable manner in one or moreembodiments. In the following description, numerous specific details areprovided, such as examples of programming, software modules, userselections, network transactions, database queries, database structures,hardware modules, hardware circuits, hardware chips, etc., to provide athorough understanding of embodiments of the invention. One skilled inthe relevant art will recognize, however, that the invention can bepracticed without one or more of the specific details, or with othermethods, components, materials, and so forth. In other instances,well-known structures, materials, or operations are not shown ordescribed in detail to avoid obscuring aspects of the invention.

As described, efficient systems for organizing availability of vehicleparking becomes increasingly important as population grows, vehicleusage increases, cites densify, etc. Cost considerations, spaceavailability, and general efficiency of a parking system may be weighedin the adoption of a particular parking system. For instance, highparking demand may be costly to satisfy due to increasing real estatecosts, densification of cities and resulting lack of available space(e.g., in downtown areas), etc.

Many parking systems are limited to a given parking area (e.g., aparking lot, a parking garage, etc.) that includes a number of vehiclestalls. However, such systems may have various limitations including theamount of space available (e.g., as the amount of space associated witha given parking area may be limited by available space in the region,the cost of real estate in the region, etc.). Moreover, the spaceavailable in parking areas may not be utilized efficiently. Forinstance, availability of individual parking stalls may be ineffectivelytracked and vehicle stalls may be established as a certain dimensionsome vehicles may not be compatible with (e.g., as some vehicles may betoo large to fit in established vehicle stalls, some vehicles may becompact and may underutilize established vehicle stalls, etc.).

The techniques described generally provide for improved parking systems.Specifically, the described techniques may provide for improveddetection of parking status (e.g., of whether a vehicle is in a parkinglocation or has left a parking location). For instance, a parking systemmay include a number of parking locations, where the availability ofeach parking location may be tracked based on detection of whether ornot a vehicle is in the parking location. Additionally, aspects of thedescribed techniques may provide for private and public (e.g., privateindividual user and public institution user) listing of space availablefor usage as a parking location. Accordingly, a parking system mayorganize various parking locations (e.g., including parking locations ofvarious sizes, with various amenities, in various geographic areas,etc.) based on availability and unavailability that may be determinedaccurately according to the parking status detection techniquesdescribed herein.

Various embodiments of the present disclosure may include usage ofdevice sensors (e.g., a tilt/inertia sensor, global positioning service(GPS) sensors, etc.) to determine whether a device (e.g., a mobilecomputing device) has left the vehicle in the parking location (e.g.,and thus the parking location is unavailable as the user with the deviceis leaving the vehicle in the parking location) or whether the devicehas left the parking location in the vehicle (e.g., and thus the parkinglocation is now available as the user and the device are leaving theparking location in the vehicle).

Various embodiments of the present disclosure may include organizingavailable and unavailable parking locations, including user listing ofparking locations (e.g., users listing space available to be used as aparking location), tracking of available and unavailable parkinglocations (e.g., based on parking location listings and detected parkingstatus for the listed parking locations), as well as tracking ofdifferent characteristics of different parking locations (e.g., such asgeographic location, size, cost, availability, etc.).

FIG. 1 shows an example of system diagram according to aspects of thepresent disclosure. The example shown includes display 100, GPS receiver105, sensor 115, and processor 165. In some cases, a device (e.g., amobile computing device) may include display 100, GPS receiver 105,sensor 115, and processor 165. Display 100, GPS receiver 105, sensor115, and processor 165 may be connected via one or more buses, and maybe operable to perform various functions and operations describedherein. In some examples, processor 165 may generally refer to anyhardware capable of running application 120. Application 120 maygenerally be run via any combination of hardware components (e.g., suchas processor 165, memory, etc.), software, and other logic.

A processor (e.g., processor 165) is an intelligent hardware device,(e.g., a general-purpose processing component, a digital signalprocessor (DSP), a central processing unit (CPU), a graphics processingunit (GPU), a microcontroller, an application specific integratedcircuit (ASIC), a field programmable gate array (FPGA), a programmablelogic device, a discrete gate or transistor logic component, a discretehardware component, or any combination thereof). In some cases, theprocessor is configured to operate a memory array using a memorycontroller. In other cases, a memory controller is integrated into theprocessor. In some cases, the processor is configured to executecomputer-readable instructions stored in a memory to perform variousfunctions. In some embodiments, a processor includes special purposecomponents for modem processing, baseband processing, digital signalprocessing, or transmission processing.

A database is an organized collection of data. For example, a databasestores data in a specified format known as a schema. A database may bestructured as a single database, a distributed database, multipledistributed databases, or an emergency backup database. In some cases, adatabase controller may manage data storage and processing in adatabase. In some cases, a user interacts with database controller. Inother cases, database controller may operate automatically without userinteraction. A system may implement a database for various operationsdescribed herein. For instance, a database may be managed to storeinformation of system users, parking locations, parking locationcharacteristics, historical data, geographical and directional data, andapplication 120 data (e.g., parking status detection information, userprompt information, etc.), among other examples.

Software may include code to implement aspects of the presentdisclosure. Software may be stored in a non-transitory computer-readablemedium such as system memory or other memory. In some cases, thesoftware may not be directly executable by the processor but may cause acomputer (e.g., when compiled and executed) to perform functionsdescribed herein.

A display 100 may comprise a conventional monitor, a monitor coupledwith an integrated display 100, an integrated display 100 (e.g., an LCDdisplay 100), or other means for viewing associated data or processinginformation. Output devices other than the display 100 can be used, suchas printers, other computers or data storage devices, and computernetworks.

An IO controller may manage input and output signals for a device. IOcontroller may also manage peripherals not integrated into a device. Insome cases, an IO controller may represent a physical connection or portto an external peripheral. In some cases, an IO controller may utilizean operating system such as iOS®, ANDROID®, MS-DOS®, MS-WINDOWS®, OS/2®,UNIX®, LINUX®, or another known operating system. In other cases, an IOcontroller may represent or interact with a modem, a keyboard, a mouse,a touchscreen, or a similar device. In some cases, an IO controller maybe implemented as part of processor 165. In some cases, a user mayinteract with a device via IO controller or via hardware componentscontrolled by an IO controller.

An artificial neural network (ANN) is a hardware or a software componentthat includes a number of connected nodes (i.e., artificial neurons),which loosely correspond to the neurons in a human brain. Eachconnection, or edge, transmits a signal from one node to another (likethe physical synapses in a brain). When a node receives a signal, itprocesses the signal and then transmits the processed signal to otherconnected nodes. In some cases, the signals between nodes comprise realnumbers, and the output of each node is computed by a function of thesum of its inputs. Each node and edge is associated with one or morenode weights that determine how the signal is processed and transmitted.During the training process, these weights are adjusted to improve theaccuracy of the result (i.e., by minimizing a loss function whichcorresponds in some way to the difference between the current result andthe target result). The weight of an edge increases or decreases thestrength of the signal transmitted between nodes. In some cases, nodeshave a threshold below which a signal is not transmitted at all. In someexamples, the nodes are aggregated into layers. Different layers performdifferent transformations on their inputs. The initial layer is known asthe input layer and the last layer is known as the output layer. In somecases, signals traverse certain layers multiple times.

In one embodiment, GPS receiver 105 includes parking location proximitymanager 110.

According to some embodiments, parking location proximity manager 110receives, repeatedly, a GPS signal as a mobile computing device is movedto the one of the at least one parking locations. In some examples,parking location proximity manager 110 compares, repeatedly, the GPSsignal to the one of the at least one parking locations. In someexamples, parking location proximity manager 110 determines whether themobile computing device is within a prescribed distance of the one ofthe at least one parking locations. In some examples, parking locationproximity manager 110 displays the filtered set on a map (e.g., viadisplay 100). In some examples, parking location proximity manager 110displays a location of the mobile computing device on the map with thefiltered set (e.g., via display 100). In some examples, parking locationproximity manager 110 receives the GPS signal. In some examples, parkinglocation proximity manager 110 determines a location of the mobilecomputing device as a function of the GPS signal. In some examples,parking location proximity manager 110 transmits the location of themobile computing device to a server and requesting the at least oneparking locations within the prescribed distance of the location of themobile computing device.

According to some embodiments, sensor 115 (e.g., a tilt/inertia sensor115) may monitor various inputs such as acceleration (e.g.,translational and/or rotational), speed, etc. For instance, a system(e.g., mobile computing device) may include a sensor 115 and may receivea tilt/inertia and speed signal from the tilt/inertia sensor 115. Insome cases, sensor 115 may include an inertial measurement unit (IMU),an accelerometer, a gyroscope, etc.

In one embodiment, application 120 includes parking location selectionmanager 125, parking location manager 130, confirmation input manager135, parking status manager 140, parking confirmation manager 145,direction manager 150, vehicle manager 155, and application manager 160.

According to some embodiments, parking location selection manager 125selects one of at least one parking locations. In some examples, parkinglocation selection manager 125 receives a filtering criteria, includinga vehicle size. In some examples, parking location selection manager 125filters the data set received using the filtering criteria to define afiltered set. In some examples, parking location selection manager 125receives a selection of one of the at least one parking locationsdisplayed on the map.

According to some embodiments, parking location manager 130 checksavailability of the one of the at least one parking locations forwhether the one of the at least one parking locations is available. Insome examples, parking location manager 130 displays on the mobilecomputing device (e.g., via display 100), when the mobile computingdevice is within the prescribed distance, entry information including atleast one of text, photo, audio, and video information with instructionsfor use of the one of the at least one parking locations. In someexamples, parking location manager 130 receives a data set for each ofthe at least one parking locations where the data set includes at leasta location for each of the at least one parking locations, maximumvehicle size information for each of the at least one parking locations,a list of amenities for each of the at least one parking locations, atleast one customer review for each of the at least one parkinglocations, pricing information for each of the at least one parkinglocations, and availability for each of the at least one parkinglocations. In some examples, parking location manager 130 displays atextual description, photograph, pricing, and user reviews for the oneof the at least one parking locations having been selected (e.g., viadisplay 100).

In some examples, parking location manager 130 compares the vehicle sizeto the maximum vehicle size to determine if the vehicle will fit withinthe one of the at least one parking locations. In some examples, parkinglocation manager 130 receives, when the selection for the future bookingis received, an input for the future booking including the future dateand time selection. In some examples, parking location manager 130receives an input for the duration time at the one of the at least oneparking locations selected. In some examples, the checking theavailability of the one of the at least one parking locations includeschecking whether the one of the at least one parking locations isavailable for the duration time, and, when the selection for the futurebooking is received, the input for the future date and time selection.

According to some embodiments, confirmation input manager 135 receives afirst confirmation input in response to the first confirmation prompt.

According to some embodiments, parking status manager 140 determines, inresponse to the tilt/inertia and speed signal and the GPS signal,whether the vehicle is parked at the one of the at least one parkinglocations. In some examples, parking status manager 140 determines, inresponse to the tilt/inertia and speed signal and the GPS signal,whether the mobile computing device is no longer in the vehicle. In someexamples, parking status manager 140 determines that the mobilecomputing device has returned to the vehicle after a period of time. Insome examples, parking status manager 140 displays on the mobilecomputing device a second confirmation prompt (e.g., via display 100).In some examples, parking status manager 140 receives a secondconfirmation response in response to the second confirmation prompt. Insome examples, parking status manager 140 transmits the period of timehaving been determined to a server.

According to some embodiments, parking confirmation manager 145 displayson the mobile computing device (e.g., via display 100), when the mobilecomputing device is within the prescribed distance, a first confirmationprompt.

According to some embodiments, direction manager 150 displays, when theone of the at least one parking locations is available, a routing to theone of the at least one parking locations (e.g., via display 100).

According to some embodiments, vehicle manager 155 receives the vehiclesize. In some examples, vehicle manager 155 stores the vehicle size in amemory in the mobile computing device. In some examples, vehicle manager155 retrieves the vehicle size from the memory.

According to some embodiments, application manager 160 launches anapplication 120 on the mobile computing device. In some examples,application manager 160 displays an input option for an immediatebooking or a future booking (e.g., via display 100). In some examples,application manager 160 receives a selection of the immediate booking orthe future booking. In some examples, application manager 160 displays,when the selection for the future booking is received, an input optionsfor the future booking including a future date and time selection (e.g.,via display 100). In some examples, application manager 160 displays aninput option for a duration time at the one of the at least one parkinglocations selected (e.g., via display 100).

According to some aspects of the present disclosure, application 120(e.g., parking status manager 140) may generate a pop up (e.g., a pop up605, as further described with reference to FIG. 6) when a mobile devicegets close to its destination (e.g., when a mobile device gets close toa selected parking location). The generated pop up may provideadditional details on how to check into a parking location in theinstance of the application 120. For example, the pop up may provide amanual option to confirm the user has arrived in the selected parkinglocation.

In some cases, the example system of FIG. 1 may illustrate aspects of aparking system, a mobile computing device, etc. The system may generallybe a mobile, driving, parking vehicle location detection system. As usedherein, a vehicle may include an automobile, a car, a truck, a bus, amotorcycle, a recreational vehicle (RV), etc. A vehicle may also includevarious attachments (e.g., such as trailers, boats, oversized loads,plows or other front end attachments, etc.) which may collectively bereferred to as the vehicle (e.g., in some cases, a truck towing a boatmay be referred to collectively as a vehicle).

Without the techniques described herein, using a device (e.g., a mobiledevice) for a parking application may not facilitate effectivedetermination of whether a vehicle has reached its location or left itslocation (e.g., without human intervention). For instance, a device maylikely leave the vehicle with the vehicle operator upon parking thevehicle (e.g., a driver of the vehicle may exit the vehicle with thedevice in the driver's pocket), which may trigger a false assumptionthat the vehicle has left its parking location (e.g., when the vehicleis actually still in the parking location but the vehicle operator anddevice have exited the parked vehicle). As used herein, a device maygenerally refer to any device (e.g., such as a mobile computing device,a personal digital assistant (PDA), a personal laptop, a wirelessdevice, an internet of things (IoT) device, or any other suitabledevice.)

The techniques described herein may be employed to determine the stateof a device to determine if the device has left the vehicle and mark thespot when the device left the vehicle. The techniques may alsoeffectively (e.g., intelligently, accurately, etc.) determine when thedevice has returned to the same parked vehicle and has started to moveas the vehicle drives away and exits the parking location. In someexamples, the described techniques may accurately identify whether thedevice is indeed exiting the parking location in the original vehicleparked in the parking location or in another second vehicle (e.g., suchthat the original vehicle is still in the parking location). Forexample, if another second vehicle pulled up next to the originalvehicle and the user and device moved to the second vehicle and left theparking area, the system may intelligently determine that the device isnot in the same vehicle and that the original vehicle is still in theparking location (e.g., and thus the parking location is stillunavailable after the device leaves the parking area in another secondvehicle).

The technique described herein may provide for an automated way todetermine if the user (e.g., vehicle operator/user, device appoperator/user, system operator/user, etc.) has parked their vehicle(e.g., occupied a parking location) or unparked their vehicle (e.g.,exited a parking location) to product a number of automated tasks basedon this knowledge (e.g., based on detection of parking status associatedwith the parking location). It should be noted that the techniquesdescribed herein may be described in the context of parking statusdetection (e.g., for parking check-in and parking check-out logic),however the techniques described may be applicable to other applicationsby analogy, without departing from the scope of the present disclosure.For example, the techniques described herein may be applied to automaticgate operation, door lock operation, security systems, surveillancesystems, bank accounts, automatic teller machines (ATMs), lightingsystems, etc.

As discussed herein, detection of parking status may be performed usingany combination of various system elements including, but not limitedto, WiFi, GPS (e.g., including GPS receiver 105), Bluetooth,microphones, display 100, step counters, sensors 115 (e.g., tiltsensors, altimeter, inertia sensor, speed sensor, Accelerometer,Barometer, Ultrasonic Fingerprint Sensor, Gyro Sensor, GeomagnaticSensor, Hall Sensor, Heart Rate Sensor, Proximity Sensor, red-green-blue(RGB) Light Sensor, temperature sensor, humidity sensor, plug sensor,charging sensor, etc.), processor 165, application programing interfaces(APIs), application 120, etc. Detection of parking status may further beperformed via implementation of artificial intelligence (e.g., such asan ANN).

FIG. 2 shows an example of application home page diagram according toaspects of the present disclosure. The example application home pagediagram may illustrate an example of a home page display output 200 inaccordance with one or more aspects of the present disclosure. Home pagedisplay output 200 may illustrate user account information 205 andapplication options 210 that may be displayed (e.g., by a device).

For instance, account information 205 may display information associatedwith the user account logged into the system (e.g., the user accountlogged into the application on the device). Account information 205 mayinclude, for example, an image of the user, a name of the user, an emailof the user, etc.

Application options 210 may generally provide various options fornavigating and employing the application. For instance, a user mayselect any of application options 210 to perform operations associatedwith the selected application operation 210. Application options 210 mayinclude, but are not limited to, vehicle detail (e.g., to view andmanage vehicle information, such as license plate number, color, size orother dimensions, accessories such as any trailers towed by the vehicle,etc.), payment details (e.g., to view and manage credit card informationor other forms of payment), switch to hosting (e.g., to switch back andforth between a parking mode and a hosting mode), my stays (e.g., toview and manage previous parking receipts and/or previous parkinghosting receipts), inbox (e.g., to view and manage any direct messageswithin the application), notification, invite friends, etc.

In some cases, a user may input vehicle information and the system maystore the input vehicle. For instance, a user may input a vehiclelicense plate number, a vehicle color, a vehicle size or vehicledimensions, vehicle accessories such as any trailers towed by thevehicle, etc. Accordingly, the system may store such information andcater or filter available destination options (e.g., available parkinglocations) as described in more detail herein. For instance, if a userinputs a vehicle with some general length×width×height dimensions, thesystem may compare such dimensions to dimensions of available parkinglocations.

FIG. 3 shows an example of application diagram according to aspects ofthe present disclosure. The example application diagram may illustratean example of a parking locations display output 300 in accordance withone or more aspects of the present disclosure. Parking locations displayoutput 300 may illustrate destination options 305 and selecteddestination 310 that may be displayed (e.g., by a device).

For example, a user may input some destination (e.g., in a “YourDestination” field) and a number of destination options 305 may bedisplayed on a map (e.g., where the map may be defined by some proximityof the input destination). A user may then select various destinations(e.g., parking locations) from the displayed destination options 305 tofurther inspect (e.g., gather additional displayed information) on theselected destination 310. For instance the selected destination 310 mayinclude information such as a name of the selected destination, an imageof the selected destination, a full or partial address of the selecteddestination, a distance from the selected destination, a price (e.g., aprice per hour) of the selected destination, etc.). In some examples,the selected destination 310 may also include booking options (e.g., theselected destination 310 may include a “Book Now” option and a “BookLater” option).

In some examples, parking locations display output 300 may furtherinclude filtering options a user may use to filter certain parkinglocation options 305. For instance, a user may filter parking locationoptions 305 based on dimensions of the user's vehicle, based on desiredamenities associated with parking locations, based on availability ofparking locations, based on price of parking locations, etc. In someexamples, the parking location options 305 may be automatically filtered(e.g., by the system, by the application, by the device, etc.) based ona user's vehicle that is entered into the system (e.g., the system mayautomatically filter out parking locations that the user's vehicle isincompatible with, such as smaller parking spaces in cases where theuser's vehicle is an RV or is towing a trailer).

FIG. 4 shows an example of application diagram according to aspects ofthe present disclosure. The example application diagram may illustratean example of a parking location display output 400 in accordance withone or more aspects of the present disclosure. Parking location displayoutput 400 may illustrate detailed destination information 405 that maybe displayed (e.g., by a device).

For example, if a user further selects (e.g., double taps, selects aview more detail option, etc.) a selected destination (e.g., via adisplayed selected destination 310), detailed destination information405 may be displayed. Detailed destination information 405 may generallyillustrate any additional information for a selected destination. Forexample detailed destination information 405 may include additionalimages of a selected destination, a number of available parkinglocations (e.g., Available Slots”) at a selected destination,information on a host of a selected destination, an overview of aselected destination, information on amenities included with a selecteddestination, information on availability of a selected destination, anypolicy information associated with a selected destination, reviews fromprevious users of a selected destination, etc. In some examples,detailed destination information 405 may also include booking options(e.g., a “Book Now” option and a “Book Later” option).

FIG. 5 shows an example of application diagram according to aspects ofthe present disclosure. The example application diagram may illustratean example of a parking direction display output 500 in accordance withone or more aspects of the present disclosure. Parking direction displayoutput 500 may illustrate current location 505, destination location510, and a directional path 515 that may be displayed (e.g., by adevice). In the example of FIG. 5, parking direction display output 500may also include an estimated travel time duration to the selecteddestination, information on the selected destination (e.g., rate andlocation information on the selected destination), a confirm bookingoption, etc.

FIG. 6 shows an example of application diagram according to aspects ofthe present disclosure. The example application diagram may illustratean example of a parking instruction display output 600 in accordancewith one or more aspects of the present disclosure. Display output 600may illustrate pop up 605 that may be displayed (e.g., by a device).

A system (e.g., a parking system, a device running a parkingapplication, etc.) may display pop up 605 when a device approaches adestination (e.g., a parking location) within some threshold proximity.According to some examples, pop up 605 may provide additional details onhow to check into a parking location (e.g., in the instance of theparking application). For instance, in example parking instructiondisplay output 600, pop up 605 may display instructions for how to enterand access a parking location (e.g., “Please enter the gate code of1234. Proceed down the driveway about 300 yards until you see thatparking”). Pop up 605 may further provide a manual option to confirm thedevice (e.g., the user) has arrived in the parking location (e.g., popup 605 may include a “Have you reached you Parking Location?” prompt aswell as a selectable “Not Yet” option and a “yes” option).

To trigger the initial pop up (e.g., pop up 605), the techniquesdescribed herein may implement geo distancing techniques and, in somecases, may consider the current state of the device.

For example, a device may be heading toward a chosen destination (e.g.,a selected parking location). The device may detect when a proximitythreshold to the destination has been satisfied (e.g., the device maydetermine it is close enough to the destination) and the device mayprovide (e.g., display) a pop up 605 with the additional details toaccess the final destination. For instance, the details provided by popup 605 may generally include details to gain access to a parkinglocation, a short-term housing rental, a storage unit, a bank, etc. Thedetails presented in pop up 605 may include an image of the destination,a password (e.g., a gate or lock password), a lock code, an exactaddress, a parking space number, a description of check-in procedures,etc.

In some examples, pop up 605 may include two buttons. A first button mayconfirm that the device is in the location (e.g., a “Yes” button) and asecond button may reject the location pop up 605 (e.g., a “Not Yet”button).

In cases where the confirmation button is selected (e.g., where the userinputs “Yes”), an active state may be created for a check-in procedure.The active state may represent or initiate a billing period (e.g.,initiate an hourly timer to calculate a billing total based on hourlyrates). Generally, the billing period may correspond to a parkingbilling period, an electric vehicle (EV) charging billing period, acamping billing period, etc. In some cases, the active state may keep alock state active (e.g., such that a lock code displayed in a pop up 605may only work during the active state).

In cases where the rejection button is selected (e.g., where the userinputs “Not Yet”), the pop up 605 may go away. In some cases, the systemmay move the target “Geo Distance” associated with the destination to becloser to the ultimate destination (e.g., once the user ultimatelyconfirms the user is in the destination the previous “Geo Distance”associated with the destination may be updated accordingly). In somecases, the system may move the target “Geo Distance” to be closer to thelocation and queue up the updated location for a second pop up (e.g., asecond pop up 605 associated with an updated “Geo Distance”).Additionally, when the rejection button is selected, the system mayrespond to an artificial intelligence system (e.g., artificialintelligence component, an artificial intelligence network, an ANN,etc.) that the pop up 605 was inaccurate in order to help train theartificial intelligence system on a more accurate means of when togenerate and display pop ups for the same and/or other destinations.

In some examples, the confirmation/rejection selection may be used totrain the artificial intelligence system to provide pop ups moreaccurately until the system can determine arrival (e.g., and thusaccurate timing for displaying pop ups) with increased accuracy (e.g.,almost 100% accuracy). When the device receives selection of aconfirmation button (e.g., or when the device does not receive selectionof a rejection button) the artificial intelligence system may look to auser's next “GEO Distance” and/or the state of the device activitychanges such that the artificial intelligence system may determine theuser is in fact at the destination (e.g., in order to create and/orinitiate the active state).

FIG. 7 shows an example of application diagram according to aspects ofthe present disclosure. The example application diagram may illustratean example of a listing set-up display output 700 in accordance with oneor more aspects of the present disclosure. Listing set-up display output700 may illustrate listing set-up options 705 that may be displayed(e.g., by a device).

Listing set-up options 705 may generally include various options forsetting up a destination listing. For example, in a host mode, a user(e.g., a host, a host user, etc.) may select an option to add a listingand example listing set-up options 705 may be displayed. Listing set-upoptions 705 may include an option to add a location, to providedestination details (e.g., such as images, parking space dimensions,number of parking spaces, etc.), to provide availability (e.g., certaindays, certain hours of the day, etc.), to provide listing information,to provide pricing (e.g., such as a price in dollars per hour), toprovide information on amenities, etc.

In some examples, an add location option may include a feature for alisting user to physically stand in the location of the destination(e.g., in the location of a parking location, in the location of astorage unit, etc.) and select an option to post the device's currentlocation as the location of the destination. In such cases, moreaccurate location information may be set for the destination (e.g.,compared to entering an address associated with the destination), whichmay provide for more accurate pop ups (e.g., for more accurate pop upsprovided by a device as described in more detail herein, for example,with reference to FIG. 6). In some examples, when setting a location fora destination, a prompt may be displayed prompting the listing user tobe physically standing with the device in the destination spot. Forinstance, a device may prompt a “Are you standing in the parkinglocation?” prompt along with selectable options “Yes” or “No” or “AddAddress Instead.”

In some example, details input into one or more listing set-up options705 may be used to generate device pop ups (e.g., such as pop up 605).For instance, exact addresses, gate codes, detailed parking location ordestination access information, etc. may be prompted via listing set-upoptions 705, and information input by a host may be displayed via a popup when a user that selects a destination associated with the listing iswithin an established “Geo distance” of the destination. Additionally,“Add Your Location” information, where a user may physically hold thedevice in a destination, may be used by the application to prompt popups in accordance with one or more aspects of the techniques describedherein.

FIG. 8 shows an example of an application diagram according to aspectsof the present disclosure. The example application diagram mayillustrate an example of a listing management display output 800 inaccordance with one or more aspects of the present disclosure. Listingmanagement display output 800 may illustrate a user interface forlisting management that may be displayed (e.g., by a device). Forexample, listing management display output 800 may illustrate an exampleinterface for a host to manage (e.g., edit or delete) an existinglisting 805, to add a new listing (e.g., via an “Add Listing” option),etc.

FIG. 9 shows an example of a process for detecting parking of a vehicleaccording to aspects of the present disclosure. In some examples, theseoperations are performed by a system including a processor executing aset of codes to control functional elements of an apparatus.Additionally, or alternatively, certain processes are performed usingspecial-purpose hardware. Generally, these operations are performedaccording to the methods and processes described in accordance withaspects of the present disclosure. In some cases, the operationsdescribed herein are composed of various substeps, or are performed inconjunction with other operations.

At operation 900, the system selects one of at least one parkinglocations. In some cases, the operations of this step refer to, or maybe performed by, a parking location selection manager as described withreference to FIG. 1.

At operation 905, the system checks availability of the one of the atleast one parking locations for whether the one of the at least oneparking locations is available. In some cases, the operations of thisstep refer to, or may be performed by, a parking location manager asdescribed with reference to FIG. 1.

At operation 910, the system displays, when the one of the at least oneparking locations is available, a routing to the one of the at least oneparking locations. In some cases, the operations of this step refer to,or may be performed by, a direction manager as described with referenceto FIG. 1.

At operation 915, the system receives, repeatedly, a GPS signal as amobile computing device is moved to the one of the at least one parkinglocations. In some cases, the operations of this step refer to, or maybe performed by, a parking location proximity manager as described withreference to FIG. 1.

At operation 920, the system compares, repeatedly, the GPS signal to theone of the at least one parking locations. In some cases, the operationsof this step refer to, or may be performed by, a parking locationproximity manager as described with reference to FIG. 1.

At operation 925, the system determines whether the mobile computingdevice is within a prescribed distance of the one of the at least oneparking locations. In some cases, the operations of this step refer to,or may be performed by, a parking location proximity manager asdescribed with reference to FIG. 1.

At operation 930, the system displays on the mobile computing device,when the mobile computing device is within the prescribed distance,entry information including at least one of text, photo, audio, andvideo information with instructions for use of the one of the at leastone parking locations. In some cases, the operations of this step referto, or may be performed by, a parking location manager as described withreference to FIG. 1.

At operation 935, the system displays on the mobile computing device,when the mobile computing device is within the prescribed distance, afirst confirmation prompt. In some cases, the operations of this steprefer to, or may be performed by, a parking confirmation manager asdescribed with reference to FIG. 1.

At operation 940, the system receives a first confirmation input inresponse to the first confirmation prompt. In some cases, the operationsof this step refer to, or may be performed by, a confirmation inputmanager as described with reference to FIG. 1.

At operation 945, the system receives a tilt/inertia and speed signalfrom a tilt/inertia sensor of the mobile computing device. In somecases, the operations of this step refer to, or may be performed by, asensor as described with reference to FIG. 1.

At operation 950, the system determines, in response to the tilt/inertiaand speed signal and the GPS signal, whether the vehicle is parked atthe one of the at least one parking locations. In some cases, theoperations of this step refer to, or may be performed by, a parkingstatus manager as described with reference to FIG. 1.

Accordingly, the present disclosure includes the following embodiments.

A method for detecting parking of a vehicle is described. Embodiments ofthe method are configured to selecting one of at least one parkinglocations, checking availability of the one of the at least one parkinglocations for whether the one of the at least one parking locations isavailable, displaying, when the one of the at least one parkinglocations is available, a routing to the one of the at least one parkinglocations, receiving, repeatedly, a GPS signal as a mobile computingdevice is moved to the one of the at least one parking locations,comparing, repeatedly, the GPS signal to the one of the at least oneparking locations, determining whether the mobile computing device iswithin a prescribed distance of the one of the at least one parkinglocations, displaying on the mobile computing device, when the mobilecomputing device is within the prescribed distance, entry informationcomprising at least one of text, photo, audio, and video informationwith instructions for use of the one of the at least one parkinglocations, displaying on the mobile computing device, when the mobilecomputing device is within the prescribed distance, a first confirmationprompt, receiving a first confirmation input in response to the firstconfirmation prompt, receiving a tilt/inertia and speed signal from atilt/inertia sensor of the mobile computing device, and determining, inresponse to the tilt/inertia and speed signal and the GPS signal,whether the vehicle is parked at the one of the at least one parkinglocations.

An apparatus for detecting parking of a vehicle is described. Theapparatus includes a processor, memory in electronic communication withthe processor, and instructions stored in the memory. The instructionsare operable to cause the processor to select one of at least oneparking locations, check availability of the one of the at least oneparking locations for whether the one of the at least one parkinglocations is available, display, when the one of the at least oneparking locations is available, a routing to the one of the at least oneparking locations, receive, repeatedly, a GPS signal as a mobilecomputing device is moved to the one of the at least one parkinglocations, compare, repeatedly, the GPS signal to the one of the atleast one parking locations, determine whether the mobile computingdevice is within a prescribed distance of the one of the at least oneparking locations, display on the mobile computing device, when themobile computing device is within the prescribed distance, entryinformation comprising at least one of text, photo, audio, and videoinformation with instructions for use of the one of the at least oneparking locations, display on the mobile computing device, when themobile computing device is within the prescribed distance, a firstconfirmation prompt, receive a first confirmation input in response tothe first confirmation prompt, receive a tilt/inertia and speed signalfrom a tilt/inertia sensor of the mobile computing device, anddetermine, in response to the tilt/inertia and speed signal and the GPSsignal, whether the vehicle is parked at the one of the at least oneparking locations.

A system for detecting parking of a vehicle is also described. Thesystem may include a mobile computing device configured for networkcommunication and may include a display, a GPS receiver, a sensor (e.g.,a tilt/inertia sensor), and an application configured to run on themobile computing device. The mobile computing device may be configuredto select one of at least one parking locations and check availabilityof the one of the at least one parking locations for whether the one ofthe at least one parking locations is available. The mobile computingdevice may be configured to display, when the one of the at least oneparking locations is available, a routing to the one of the at least oneparking locations. The mobile computing device may also be configured todisplay, repeatedly, a GPS signal as the mobile computing device ismoved to the one of the at least one parking locations and compare,repeatedly, the GPS signal to the one of the at least one parkinglocations. The mobile computing device may further be configured todetermine whether the mobile computing device is within a prescribeddistance of the one of the at least one parking locations and display onthe mobile computing device, when the mobile computing device is withinthe prescribed distance, entry information comprising at least one oftext, photo, audio, and video information with instructions for use ofthe one of the at least one parking locations. The mobile computingdevice may be configured to display on the mobile computing device, whenthe mobile computing device is within the prescribed distance, a firstconfirmation prompt, receive a first confirmation input in response tothe first confirmation prompt, receive a tilt/inertia and speed signalfrom the tilt/inertia sensor of the mobile computing device, anddetermine, in response to said tilt/inertia and speed signal and saidGPS signal, whether the vehicle is parked at the one of the at least oneparking locations.

A non-transitory computer readable medium storing code for detectingparking of a vehicle is described. In some examples, the code comprisesinstructions executable by a processor to: select one of at least oneparking locations, check availability of the one of the at least oneparking locations for whether the one of the at least one parkinglocations is available, display, when the one of the at least oneparking locations is available, a routing to the one of the at least oneparking locations, receive, repeatedly, a GPS signal as a mobilecomputing device is moved to the one of the at least one parkinglocations, compare, repeatedly, the GPS signal to the one of the atleast one parking locations, determine whether the mobile computingdevice is within a prescribed distance of the one of the at least oneparking locations, display on the mobile computing device, when themobile computing device is within the prescribed distance, entryinformation comprising at least one of text, photo, audio, and videoinformation with instructions for use of the one of the at least oneparking locations, display on the mobile computing device, when themobile computing device is within the prescribed distance, a firstconfirmation prompt, receive a first confirmation input in response tothe first confirmation prompt, receive a tilt/inertia and speed signalfrom a tilt/inertia sensor of the mobile computing device, anddetermine, in response to the tilt/inertia and speed signal and the GPSsignal, whether the vehicle is parked at the one of the at least oneparking locations.

Some examples of the method, apparatus, system, and non-transitorycomputer readable medium described above further include receiving adata set for each of the at least one parking locations wherein the dataset comprises at least a location for each of the at least one parkinglocations, maximum vehicle size information for each of the at least oneparking locations, a list of amenities for each of the at least oneparking locations, at least one customer review for each of the at leastone parking locations, pricing information for each of the at least oneparking locations, and availability for each of the at least one parkinglocations. Some examples further include receiving a filtering criteria,including a vehicle size. Some examples further include filtering thedata set received using the filtering criteria to define a filtered set.Some examples further include displaying the filtered set on a map. Someexamples further include displaying a location of the mobile computingdevice on the map with the filtered set. Some examples further includereceiving a selection of one of the at least one parking locationsdisplayed on the map. Some examples further include displaying a textualdescription, photograph, pricing, and user reviews for the one of the atleast one parking locations having been selected.

Some examples of the method, apparatus, system, and non-transitorycomputer readable medium described above further include receiving thevehicle size. Some examples further include storing the vehicle size ina memory in the mobile computing device. Some examples further includeretrieving the vehicle size from the memory. Some examples furtherinclude comparing the vehicle size to the maximum vehicle size todetermine if the vehicle will fit within the one of the at least oneparking locations.

Some examples of the method, apparatus, system, and non-transitorycomputer readable medium described above further include launching anapplication on the mobile computing device. Some examples furtherinclude receiving the GPS signal. Some examples further includedetermining a location of the mobile computing device as a function ofthe GPS signal. Some examples further include transmitting the locationof the mobile computing device to a server and requesting the at leastone parking locations within the prescribed distance of the location ofthe mobile computing device.

Some examples of the method, apparatus, system, and non-transitorycomputer readable medium described above further include displaying aninput option for an immediate booking or a future booking. Some examplesfurther include receiving a selection of the immediate booking or thefuture booking. Some examples further include displaying, when theselection for the future booking is received, an input options for thefuture booking comprising a future date and time selection. Someexamples further include receiving, when the selection for the futurebooking is received, an input for the future booking comprising thefuture date and time selection. Some examples further include displayingan input option for a duration time at the one of the at least oneparking locations selected. Some examples further include receiving aninput for the duration time at the one of the at least one parkinglocations selected.

In some examples, the checking the availability of the one of the atleast one parking locations comprises checking whether the one of the atleast one parking locations is available for the duration time, and,when the selection for the future booking is received, the input for thefuture date and time selection.

Some examples of the method, apparatus, system, and non-transitorycomputer readable medium described above further include determining, inresponse to the tilt/inertia and speed signal and the GPS signal,whether the mobile computing device is no longer in the vehicle. Someexamples further include determining that the mobile computing devicehas returned to the vehicle after a period of time. Some examplesfurther include displaying on the mobile computing device a secondconfirmation prompt. Some examples further include receiving a secondconfirmation response in response to the second confirmation prompt.Some examples further include transmitting the period of time havingbeen determined to a server.

Some of the functional units described in this specification have beenlabeled as modules, or components, to more particularly emphasize theirimplementation independence. For example, a module may be implemented asa hardware circuit comprising custom very large scale integration (VLSI)circuits or gate arrays, off-the-shelf semiconductors such as logicchips, transistors, or other discrete components. A module may also beimplemented in programmable hardware devices such as field programmablegate arrays, programmable array logic, programmable logic devices or thelike.

Modules may also be implemented in software for execution by varioustypes of processors. An identified module of executable code may, forinstance, comprise one or more physical or logical blocks of computerinstructions that may, for instance, be organized as an object,procedure, or function. Nevertheless, the executables of an identifiedmodule need not be physically located together, but may comprisedisparate instructions stored in different locations which, when joinedlogically together, comprise the module and achieve the stated purposefor the module.

Indeed, a module of executable code could be a single instruction, ormany instructions, and may even be distributed over several differentcode segments, among different programs, and across several memorydevices. Similarly, operational data may be identified and illustratedherein within modules, and may be embodied in any suitable form andorganized within any suitable type of data structure. The operationaldata may be collected as a single data set, or may be distributed overdifferent locations including over different storage devices, and mayexist, at least partially, merely as electronic signals on a system ornetwork.

While the invention herein disclosed has been described by means ofspecific embodiments, examples and applications thereof, numerousmodifications and variations could be made thereto by those skilled inthe art without departing from the scope of the invention set forth inthe claims.

What is claimed is:
 1. A method for detecting parking of a vehiclecomprising: a. selecting one of at least one parking locations; b.checking availability of the one of the at least one parking locationsfor whether the one of the at least one parking locations is available;c. displaying, when the one of the at least one parking locations isavailable, a routing to the one of the at least one parking locations;d. receiving, repeatedly, a GPS signal as a mobile computing device ismoved to the one of the at least one parking locations; e. comparing,repeatedly, the GPS signal to the one of the at least one parkinglocations; f. determining whether the mobile computing device is withina prescribed distance of the one of the at least one parking locations;g. displaying on the mobile computing device, when the mobile computingdevice is within the prescribed distance, entry information comprisingat least one of text, photo, audio, and video information withinstructions for use of the one of the at least one parking locations;h. displaying on the mobile computing device, when the mobile computingdevice is within the prescribed distance, a first confirmation prompt;i. receiving a first confirmation input in response to the firstconfirmation prompt; j. receiving a tilt/inertia and speed signal from atilt/inertia sensor of the mobile computing device; and k. determining,in response to said tilt/inertia and speed signal and said GPS signal,whether the vehicle is parked at the one of the at least one parkinglocations.
 2. The method for detecting parking of a vehicle of claim 1further comprising: a. receiving a data set for each of said at leastone parking locations wherein the data set comprises at least a locationfor each of said at least one parking locations, maximum vehicle sizeinformation for each of said at least one parking locations, a list ofamenities for each of said at least one parking locations, at least onecustomer review for each of said at least one parking locations, pricinginformation for each of said at least one parking locations, andavailability for each of said at least one parking locations; b.receiving a filtering criteria, including a vehicle size; c. filteringthe data set received using the filtering criteria to define a filteredset; d. displaying the filtered set on a map; e. displaying a locationof the mobile computing device on the map with the filtered set; f.receiving a selection of one of the at least one parking locationsdisplayed on the map; and g. displaying a textual description,photograph, pricing, and user reviews for the one of the at least oneparking locations having been selected.
 3. The method for detectingparking of a vehicle of claim 2 further comprising: a. receiving thevehicle size; b. storing the vehicle size in a memory in the mobilecomputing device; c. retrieving the vehicle size from the memory; and d.comparing the vehicle size to the maximum vehicle size to determine ifthe vehicle will fit within the one of the at least one parkinglocations.
 4. The method for detecting parking of a vehicle of claim 1wherein said selecting said one of said at least one parking locationscomprises: a. launching an app on the mobile computing device; b.receiving the GPS signal; c. determining a location of the mobilecomputing device as a function of the GPS signal; and d. transmittingthe location of the mobile computing device to a server and requestingsaid at least one parking locations within the prescribed distance ofthe location of the mobile computing device.
 5. The method for detectingparking of a vehicle of claim 1 further comprising: a. displaying aninput option for an immediate booking or a future booking; b. receivinga selection of the immediate booking or the future booking; c.displaying, when the selection for the future booking is received, aninput options for the future booking comprising a future date and timeselection; d. receiving, when the selection for the future booking isreceived, an input for the future booking comprising the future date andtime selection; e. displaying an input option for a duration time atsaid one of said at least one parking locations selected; and f.receiving an input for the duration time at said one of said at leastone parking locations selected.
 6. The method for detecting parking of avehicle of claim 5 further comprising: said checking availability ofsaid one of said at least one parking locations comprises: a. checkingwhether the one of the at least one parking locations is available forthe duration time, and, when the selection for the future booking isreceived, the input for the future date and time selection.
 7. Themethod for detecting parking of a vehicle of claim 1 further comprising:a. determining, in response to said tilt/inertia and speed signal andsaid GPS signal, whether the mobile computing device is no longer in thevehicle; b. determining that the mobile computing device has returned tothe vehicle after a period of time; c. displaying on the mobilecomputing device a second confirmation prompt; d. receiving a secondconfirmation response in response to the second confirmation prompt; ande. transmitting the period of time having been determined to a server.8. A system for detecting parking of a vehicle comprising: a mobilecomputing device configured for network communication and comprising; adisplay; a GPS receiver; a tilt/inertia sensor; and an applicationconfigured to run on the mobile computing device, wherein the mobilecomputing device is configured to perform the steps of: a. selecting oneof at least one parking locations; b. checking availability of the oneof the at least one parking locations for whether the one of the atleast one parking locations is available; c. displaying, when the one ofthe at least one parking locations is available, a routing to the one ofthe at least one parking locations; d. receiving, repeatedly, a GPSsignal as the mobile computing device is moved to the one of the atleast one parking locations; e. compare, repeatedly, the GPS signal tothe one of the at least one parking locations; f. determining whetherthe mobile computing device is within a prescribed distance of the oneof the at least one parking locations; g. displaying on the mobilecomputing device, when the mobile computing device is within theprescribed distance, entry information comprising at least one of text,photo, audio, and video information with instructions for use of the oneof the at least one parking locations; h. displaying on the mobilecomputing device, when the mobile computing device is within theprescribed distance, a first confirmation prompt; i. receiving a firstconfirmation input in response to the first confirmation prompt; j.receiving a tilt/inertia and speed signal from the tilt/inertia sensorof the mobile computing device; and k. determining, in response to saidtilt/inertia and speed signal and said GPS signal, whether the vehicleis parked at the one of the at least one parking locations.
 9. Thesystem for detecting parking of a vehicle of claim 8 further comprising:a. receiving a data set for each of said at least one parking locationswherein the data set comprises at least a location for each of said atleast one parking locations, maximum vehicle size information for eachof said at least one parking locations, a list of amenities for each ofsaid at least one parking locations, at least one customer review foreach of said at least one parking locations, pricing information foreach of said at least one parking locations, and availability for eachof said at least one parking locations; b. receiving a filteringcriteria, including a vehicle size; c. filtering the data set receivedusing the filtering criteria to define a filtered set; d. displaying thefiltered set on a map; e. displaying a location of the mobile computingdevice on the map with the filtered set; f. receiving a selection of oneof the at least one parking locations displayed on the map; and g.displaying a textual description, photograph, pricing, and user reviewsfor the one of the at least one parking locations having been selected.10. The system for detecting parking of a vehicle of claim 9 furthercomprising: a. receiving the vehicle size; b. storing the vehicle sizein a memory in the mobile computing device; c. retrieving the vehiclesize from the memory; and d. comparing the vehicle size to the maximumvehicle size to determine if the vehicle will fit within the one of theat least one parking locations.
 11. The system for detecting parking ofa vehicle of claim 8 wherein said selecting said one of said at leastone parking locations comprises: a. launching the application on themobile computing device; b. receiving the GPS signal; c. determining alocation of the mobile computing device as a function of the GPS signal;and d. transmitting the location of the mobile computing device to aserver and requesting said at least one parking locations within theprescribed distance of the location of the mobile computing device. 12.The system for detecting parking of a vehicle of claim 8 furthercomprising: a. displaying an input option for an immediate booking or afuture booking; b. receiving a selection of the immediate booking or thefuture booking; c. displaying, when the selection for the future bookingis received, an input options for the future booking comprising a futuredate and time selection; d. receiving, when the selection for the futurebooking is received, an input for the future booking comprising thefuture date and time selection; e. displaying an input option for aduration time at said one of said at least one parking locationsselected; and f. receiving an input for the duration time at said one ofsaid at least one parking locations selected.
 13. The system fordetecting parking of a vehicle of claim 12 further comprising: saidchecking availability of said one of said at least one parking locationscomprises: a. checking whether the one of the at least one parkinglocations is available for the duration time, and, when the selectionfor the future booking is received, the input for the future date andtime selection.
 14. The system for detecting parking of a vehicle ofclaim 8 further comprising: a. determining, in response to saidtilt/inertia and speed signal and said GPS signal, whether the mobilecomputing device is no longer in the vehicle; b. determining that themobile computing device has returned to the vehicle after a period oftime; c. displaying on the mobile computing device a second confirmationprompt; d. receiving a second confirmation response in response to thesecond confirmation prompt; and e. transmitting the period of timehaving been determined to a server.
 15. A non-transitory computerreadable medium storing code for detecting parking of a vehicle, thecode comprising instructions executable by a processor to: a. select oneof at least one parking locations; b. check availability of the one ofthe at least one parking locations for whether the one of the at leastone parking locations is available; c. display, when the one of the atleast one parking locations is available, a routing to the one of the atleast one parking locations; d. receive, repeatedly, a GPS signal as amobile computing device is moved to the one of the at least one parkinglocations; e. compare, repeatedly, the GPS signal to the one of the atleast one parking locations; f. determine whether the mobile computingdevice is within a prescribed distance of the one of the at least oneparking locations; g. display on the mobile computing device, when themobile computing device is within the prescribed distance, entryinformation comprising at least one of text, photo, audio, and videoinformation with instructions for use of the one of the at least oneparking locations; h. display on the mobile computing device, when themobile computing device is within the prescribed distance, a firstconfirmation prompt; i. receive a first confirmation input in responseto the first confirmation prompt; j. receive a tilt/inertia and speedsignal from a tilt/inertia sensor of the mobile computing device; and k.determine, in response to the tilt/inertia and speed signal and the GPSsignal, whether the vehicle is parked at the one of the at least oneparking locations.
 16. The non-transitory computer readable medium ofclaim 15, the code further comprising instructions executable by theprocessor to: a. receive a data set for each of the at least one parkinglocations wherein the data set comprises at least a location for each ofthe at least one parking locations, maximum vehicle size information foreach of the at least one parking locations, a list of amenities for eachof the at least one parking locations, at least one customer review foreach of the at least one parking locations, pricing information for eachof the at least one parking locations, and availability for each of theat least one parking locations; b. receive a filtering criteria,including a vehicle size; c. filter the data set received using thefiltering criteria to define a filtered set; d. display the filtered seton a map; e. display a location of the mobile computing device on themap with the filtered set; f. receive a selection of one of the at leastone parking locations displayed on the map; and g. displaying a textualdescription, photograph, pricing, and user reviews for the one of the atleast one parking locations having been selected.
 17. The non-transitorycomputer readable medium of claim 16, the code further comprisinginstructions executable by the processor to: a. receive the vehiclesize; b. store the vehicle size in a memory in the mobile computingdevice; c. retrieve the vehicle size from the memory; and d. compare thevehicle size to the maximum vehicle size to determine if the vehiclewill fit within the one of the at least one parking locations.
 18. Thenon-transitory computer readable medium of claim 14, the code furthercomprising instructions executable by the processor to: a. launch anapplication on the mobile computing device; b. receive the GPS signal;c. determine a location of the mobile computing device as a function ofthe GPS signal; and d. transmit the location of the mobile computingdevice to a server and requesting the at least one parking locationswithin the prescribed distance of the location of the mobile computingdevice.
 19. The non-transitory computer readable medium of claim 15, thecode further comprising instructions executable by the processor to: a.display an input option for an immediate booking or a future booking; b.receive a selection of the immediate booking or the future booking; c.display, when the selection for the future booking is received, an inputoptions for the future booking comprising a future date and timeselection; d. receive, when the selection for the future booking isreceived, an input for the future booking comprising the future date andtime selection; e. display an input option for a duration time at theone of the at least one parking locations selected; and f. receive aninput for the duration time at the one of the at least one parkinglocations selected.
 20. The non-transitory computer readable medium ofclaim 19, wherein: the checking the availability of the one of the atleast one parking locations comprises: a. checking whether the one ofthe at least one parking locations is available for the duration time,and, when the selection for the future booking is received, the inputfor the future date and time selection.